package com.chao.yyks.modular.problem.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.chao.common.util.StrUtile;
import com.chao.common.util.exception.SysException;
import com.chao.yyks.modular.problem.bean.EnProblemType;
import com.chao.yyks.modular.problem.mapper.EnProblemTypeMapper;
import com.chao.yyks.modular.problem.service.EnProblemTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.chao.common.util.reaction.PageList;


/**
 * 问题类型ServiceImpl
 * chao
 * 2024-09-12
 */
@Service
public class EnProblemTypeServiceImpl implements EnProblemTypeService {

	/**
	 * 问题类型Mapper
	 */
	@Autowired
	private EnProblemTypeMapper enProblemTypeMapper;

	/**
	 * 新增问题类型
	 */
	@Override
	@Transactional
	public void insertEnProblemType(EnProblemType enProblemType){
		enProblemType.setProblemType(StrUtile.getId());
		enProblemTypeMapper.insertEnProblemType(enProblemType);
	}

	/**
	 * 修改问题类型
	 */
	@Override
	@Transactional
	public void updateEnProblemType(EnProblemType enProblemType){
		EnProblemType enProblemTypePojo = enProblemTypeMapper.selectEnProblemTypeByProblemType(enProblemType.getProblemType());
		if(null == enProblemTypePojo){
		    throw new SysException("修改问题类型失败:记录不存在!");
		}
		enProblemTypeMapper.updateEnProblemType(enProblemType);
	}

	/**
	 * 查询问题类型详情
	 */
	@Override
	public EnProblemType selectEnProblemTypeByProblemType(String problemType){
		return enProblemTypeMapper.selectEnProblemTypeByProblemType(problemType);
	}

	/**
	 * 分页查询问题类型列表
	 */
	@Override
	public PageList<EnProblemType> selectEnProblemTypeByPage(JSONObject json){
		return enProblemTypeMapper.selectEnProblemTypeByList(StrUtile.getPageJson(json));
	}

}